home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 2.iso / STUTTGART / LANG / C / GCC / CC1 / !gcc / docs / c / !Readme
Text File  |  1996-11-09  |  5KB  |  167 lines

  1. The GNU C compiler
  2. ==================
  3.  
  4. Introduction
  5. ------------
  6.  
  7. This is a port of the GNU C compiler (version 2.7.2) for the C programming
  8. language to the Acorn range of ARM based machines, running under RISC OS.
  9. As such, this package is covered by the FSF General Public License (see the
  10. files docs.COPYING and docs.COPYINGLIB for details).
  11.  
  12. This port is © Copyright 1996 Nick Burrett
  13.  
  14. As with GNU programs, THERE IS NO WARRANTY OF ANY SORT
  15.  
  16. This compiler requires a minimum 2300Kb of free RAM for compilations.
  17.  
  18. Thanks go to various people for the help and assistance that they have
  19. given me during the creation of this port. These are:
  20.  
  21. Richard Earnshaw, Pieter Schoenmakers and Martin Simmons for most of
  22. the hard work involved in the RISCiX ARM backend.
  23.  
  24. Peter Burwood for additional problem solving and testing abilities.
  25.  
  26. Files
  27. -----
  28.  
  29. This is a binary distribution only and consists of the following files:
  30.  
  31.   bin.cc1            C compiler
  32.   docs.c.!Readme        This documentation
  33.  
  34. The compiler sources (about 27Mb) can be obtained from the sites listed at
  35. the end of docs.!Intro.
  36.  
  37. Installation
  38. ------------
  39.  
  40. Before attempting to use GNU C, it should be noted that this distribution
  41. will require the GCC front end files stored in the archive gccmain.zip.
  42. If you do not have a copy of this, it can be retrieved from
  43.   ftp://micros.hensa.ac.uk/micros/arch/riscos/b/b013/gccmain.zip
  44.  
  45. GNU C 2.7.2 also requires UnixLib 3.7a or later, but not UnixLib 4.0.
  46. GNU C will not work with UnixLib 3.6e or earlier.
  47.  
  48.  
  49. Compiling C source
  50. ------------------
  51.  
  52. C source files are kept in the 'c' directory. Header files are stored in
  53. the 'h' directory.
  54.  
  55. Simply type:
  56.   gcc -c c.test
  57.  
  58. will compile the C file, test, into an AOF file and store it in the 'o'
  59. directory.
  60.  
  61. Automatically compiling and linking is simple:
  62.   gcc c.test -o test
  63.  
  64. will compile and link the file c.test and store the resultant binary in the
  65. current directory and call it test.
  66.  
  67. All GNU compilers require the library gcc:o.libgcc to operate. So separate
  68. compile and link operations must include this.
  69.  
  70.  
  71. Compiling and running the example programs
  72. ------------------------------------------
  73.  
  74. The following example programs are to be found in the directory !gcc.files.
  75. For each program, there is a list of the necessary command lines for how
  76. to compile, link and run the program.
  77.  
  78.  
  79. hellow
  80. ^^^^^^
  81. The standard C program.
  82.  
  83. Source:     c.hellow
  84. Compile using:     gcc c.hellow -o hellow
  85. Run using:     hellow
  86.  
  87.  
  88. ackermann
  89. ^^^^^^^^^
  90. A benchmark program, used to indicate the coding efficiency of procedures.
  91. Also illustrates how to receive arguments passed on the command line.
  92.  
  93. Source:        c.ackermann
  94. Compile using:    gcc c.ackermann -o ackermann
  95. Run using:    ackermann 3 4
  96.  
  97. Try using different numbers instead of 3 and 4.
  98.  
  99.  
  100. Dhrystone 2.1
  101. ^^^^^^^^^^^^^
  102. Used as the standard integer benchmark. This program consists of two
  103. source files which will need linking together. The best solution is to
  104. compile each file separately, for which the resultant Acorn Object Format
  105. files will be placed in the 'o' directory, and then link with the necessary
  106. libraries to create an executable.
  107.  
  108. Source:        c.dhry_1, c.dhry_2, h.dhry_2
  109.  
  110. Compile using:    gcc -c c.dhry_1
  111.         gcc -c c.dhry_2
  112.  
  113. Link using:    drlink -o dhry o.dhry_1 o.dhry_2 gcc:o.libgcc unix:o.unixlib
  114.  
  115. Run using:    dhry
  116.  
  117. When prompted for the number of iterations, use any number in the range
  118. 10000 to 200000.  It might be worth adding the command line option '-O2'
  119. when compiling to measure the difference achieved between no optimisation
  120. and full optimisation.
  121.  
  122.  
  123. Interworking with Acorn C
  124. -------------------------
  125.  
  126. Code compiled with GCC can be linked with code produced by the Acorn C
  127. compiler, and probably other APCS-R conformant compilers, with no major
  128. problems.
  129.  
  130. However, experience has showed that there are minor incompatibilities between
  131. Acorn C and GNU C in the way structures are implemented. These
  132. incompatibilities are very minor and should not affect the general user.
  133.  
  134.  
  135. Predefines
  136. ----------
  137.  
  138. In addition to the ones defined by the GCC front end, GNU C also supplies
  139. '__GNUC__'.
  140.  
  141.  
  142. Known problems
  143. --------------
  144.  
  145. If you find a bug then please read the file docs.bugs for what to do if
  146. you have found a bug.
  147.  
  148. Here is a list of all problems that I know of:
  149.  
  150. GCC 2.4.5 produces incompatible code with 2.7.2 and that is simply that.
  151.  
  152.  
  153. Known Restrictions
  154. ------------------
  155.  
  156. Non-local gotos are not implemented for functions within functions. This is
  157. being worked on, when I have the time.
  158.  
  159.  
  160. Contacting me
  161. -------------
  162.  
  163. I can be contacted by e-mail at: nickb@digibank.demon.co.uk
  164.  
  165. However, if there is no response from that address I can be contacted
  166. through Simon Callan: gcc@callan.demon.co.uk.
  167.